/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package org.apli.haiam.ejb.entidades;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author Informática
 */
@Entity
@Table(name = "far_kardex_detalle")
@NamedQueries({
    @NamedQuery(name = "FarKardexDetalle.findAll", query = "SELECT f FROM FarKardexDetalle f")})
public class FarKardexDetalle implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_id")
    private Integer fkdId;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "fkd_devoluciones")
    private BigDecimal fkdDevoluciones;
    @Column(name = "fkd_transferencias_ingresos")
    private BigDecimal fkdTransferenciasIngresos;
    @Column(name = "fkd_transferencias_egresos")
    private BigDecimal fkdTransferenciasEgresos;
    @Column(name = "fkd_egresos")
    private BigDecimal fkdEgresos;
    @Column(name = "fkd_ingreos")
    private BigDecimal fkdIngreos;
    @Column(name = "fkd_ajustes")
    private BigDecimal fkdAjustes;
    @Column(name = "fkd_devoluciones_valor")
    private BigDecimal fkdDevolucionesValor;
    @Column(name = "fkd_transferencias_ingresos_val")
    private BigDecimal fkdTransferenciasIngresosVal;
    @Column(name = "fkd_transferencias_egresos_valo")
    private BigDecimal fkdTransferenciasEgresosValo;
    @Column(name = "fkd_egresos_valor")
    private BigDecimal fkdEgresosValor;
    @Column(name = "fkd_ingresos_valor")
    private BigDecimal fkdIngresosValor;
    @Column(name = "fkd_ajustes_valor")
    private BigDecimal fkdAjustesValor;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_saldo")
    private BigDecimal fkdSaldo;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_costo_unitario")
    private BigDecimal fkdCostoUnitario;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 32)
    @Column(name = "fkd_num_factura")
    private String fkdNumFactura;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 128)
    @Column(name = "fkd_nombre_proveedor")
    private String fkdNombreProveedor;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_tipo_transaccion")
    private int fkdTipoTransaccion;
    @Size(max = 32)
    @Column(name = "fkd_numero_documento")
    private String fkdNumeroDocumento;
    @Column(name = "fkd_saldo_inicial")
    private BigDecimal fkdSaldoInicial;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_fecha")
    @Temporal(TemporalType.DATE)
    private Date fkdFecha;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_id_proveedor")
    private int fkdIdProveedor;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_hora")
    @Temporal(TemporalType.TIME)
    private Date fkdHora;
    @Size(max = 2147483647)
    @Column(name = "fkd_observacion")
    private String fkdObservacion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_cantidad_inicial")
    private BigDecimal fkdCantidadInicial;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fkd_cantidad")
    private BigDecimal fkdCantidad;
    @JoinColumn(name = "fke_id", referencedColumnName = "fke_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private FarKardexEncabezado farKardexEncabezado;

    public FarKardexDetalle() {
    }

    public FarKardexDetalle(Integer fkdId) {
        this.fkdId = fkdId;
    }

    public FarKardexDetalle(Integer fkdId, BigDecimal fkdSaldo, BigDecimal fkdCostoUnitario, String fkdNumFactura, String fkdNombreProveedor, int fkdTipoTransaccion, Date fkdFecha, int fkdIdProveedor, Date fkdHora, BigDecimal fkdCantidadInicial, BigDecimal fkdCantidad) {
        this.fkdId = fkdId;
        this.fkdSaldo = fkdSaldo;
        this.fkdCostoUnitario = fkdCostoUnitario;
        this.fkdNumFactura = fkdNumFactura;
        this.fkdNombreProveedor = fkdNombreProveedor;
        this.fkdTipoTransaccion = fkdTipoTransaccion;
        this.fkdFecha = fkdFecha;
        this.fkdIdProveedor = fkdIdProveedor;
        this.fkdHora = fkdHora;
        this.fkdCantidadInicial = fkdCantidadInicial;
        this.fkdCantidad = fkdCantidad;
    }

    public Integer getFkdId() {
        return fkdId;
    }

    public void setFkdId(Integer fkdId) {
        this.fkdId = fkdId;
    }

    public BigDecimal getFkdDevoluciones() {
        return fkdDevoluciones;
    }

    public void setFkdDevoluciones(BigDecimal fkdDevoluciones) {
        this.fkdDevoluciones = fkdDevoluciones;
    }

    public BigDecimal getFkdTransferenciasIngresos() {
        return fkdTransferenciasIngresos;
    }

    public void setFkdTransferenciasIngresos(BigDecimal fkdTransferenciasIngresos) {
        this.fkdTransferenciasIngresos = fkdTransferenciasIngresos;
    }

    public BigDecimal getFkdTransferenciasEgresos() {
        return fkdTransferenciasEgresos;
    }

    public void setFkdTransferenciasEgresos(BigDecimal fkdTransferenciasEgresos) {
        this.fkdTransferenciasEgresos = fkdTransferenciasEgresos;
    }

    public BigDecimal getFkdEgresos() {
        return fkdEgresos;
    }

    public void setFkdEgresos(BigDecimal fkdEgresos) {
        this.fkdEgresos = fkdEgresos;
    }

    public BigDecimal getFkdIngreos() {
        return fkdIngreos;
    }

    public void setFkdIngreos(BigDecimal fkdIngreos) {
        this.fkdIngreos = fkdIngreos;
    }

    public BigDecimal getFkdAjustes() {
        return fkdAjustes;
    }

    public void setFkdAjustes(BigDecimal fkdAjustes) {
        this.fkdAjustes = fkdAjustes;
    }

    public BigDecimal getFkdDevolucionesValor() {
        return fkdDevolucionesValor;
    }

    public void setFkdDevolucionesValor(BigDecimal fkdDevolucionesValor) {
        this.fkdDevolucionesValor = fkdDevolucionesValor;
    }

    public BigDecimal getFkdTransferenciasIngresosVal() {
        return fkdTransferenciasIngresosVal;
    }

    public void setFkdTransferenciasIngresosVal(BigDecimal fkdTransferenciasIngresosVal) {
        this.fkdTransferenciasIngresosVal = fkdTransferenciasIngresosVal;
    }

    public BigDecimal getFkdTransferenciasEgresosValo() {
        return fkdTransferenciasEgresosValo;
    }

    public void setFkdTransferenciasEgresosValo(BigDecimal fkdTransferenciasEgresosValo) {
        this.fkdTransferenciasEgresosValo = fkdTransferenciasEgresosValo;
    }

    public BigDecimal getFkdEgresosValor() {
        return fkdEgresosValor;
    }

    public void setFkdEgresosValor(BigDecimal fkdEgresosValor) {
        this.fkdEgresosValor = fkdEgresosValor;
    }

    public BigDecimal getFkdIngresosValor() {
        return fkdIngresosValor;
    }

    public void setFkdIngresosValor(BigDecimal fkdIngresosValor) {
        this.fkdIngresosValor = fkdIngresosValor;
    }

    public BigDecimal getFkdAjustesValor() {
        return fkdAjustesValor;
    }

    public void setFkdAjustesValor(BigDecimal fkdAjustesValor) {
        this.fkdAjustesValor = fkdAjustesValor;
    }

    public BigDecimal getFkdSaldo() {
        return fkdSaldo;
    }

    public void setFkdSaldo(BigDecimal fkdSaldo) {
        this.fkdSaldo = fkdSaldo;
    }

    public BigDecimal getFkdCostoUnitario() {
        return fkdCostoUnitario;
    }

    public void setFkdCostoUnitario(BigDecimal fkdCostoUnitario) {
        this.fkdCostoUnitario = fkdCostoUnitario;
    }

    public String getFkdNumFactura() {
        return fkdNumFactura;
    }

    public void setFkdNumFactura(String fkdNumFactura) {
        this.fkdNumFactura = fkdNumFactura;
    }

    public String getFkdNombreProveedor() {
        return fkdNombreProveedor;
    }

    public void setFkdNombreProveedor(String fkdNombreProveedor) {
        this.fkdNombreProveedor = fkdNombreProveedor;
    }

    public int getFkdTipoTransaccion() {
        return fkdTipoTransaccion;
    }

    public void setFkdTipoTransaccion(int fkdTipoTransaccion) {
        this.fkdTipoTransaccion = fkdTipoTransaccion;
    }

    public String getFkdNumeroDocumento() {
        return fkdNumeroDocumento;
    }

    public void setFkdNumeroDocumento(String fkdNumeroDocumento) {
        this.fkdNumeroDocumento = fkdNumeroDocumento;
    }

    public BigDecimal getFkdSaldoInicial() {
        return fkdSaldoInicial;
    }

    public void setFkdSaldoInicial(BigDecimal fkdSaldoInicial) {
        this.fkdSaldoInicial = fkdSaldoInicial;
    }

    public Date getFkdFecha() {
        return fkdFecha;
    }

    public void setFkdFecha(Date fkdFecha) {
        this.fkdFecha = fkdFecha;
    }

    public int getFkdIdProveedor() {
        return fkdIdProveedor;
    }

    public void setFkdIdProveedor(int fkdIdProveedor) {
        this.fkdIdProveedor = fkdIdProveedor;
    }

    public Date getFkdHora() {
        return fkdHora;
    }

    public void setFkdHora(Date fkdHora) {
        this.fkdHora = fkdHora;
    }

    public String getFkdObservacion() {
        return fkdObservacion;
    }

    public void setFkdObservacion(String fkdObservacion) {
        this.fkdObservacion = fkdObservacion;
    }

    public BigDecimal getFkdCantidadInicial() {
        return fkdCantidadInicial;
    }

    public void setFkdCantidadInicial(BigDecimal fkdCantidadInicial) {
        this.fkdCantidadInicial = fkdCantidadInicial;
    }

    public BigDecimal getFkdCantidad() {
        return fkdCantidad;
    }

    public void setFkdCantidad(BigDecimal fkdCantidad) {
        this.fkdCantidad = fkdCantidad;
    }

    public FarKardexEncabezado getFarKardexEncabezado() {
        return farKardexEncabezado;
    }

    public void setFarKardexEncabezado(FarKardexEncabezado farKardexEncabezado) {
        this.farKardexEncabezado = farKardexEncabezado;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (fkdId != null ? fkdId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof FarKardexDetalle)) {
            return false;
        }
        FarKardexDetalle other = (FarKardexDetalle) object;
        if ((this.fkdId == null && other.fkdId != null) || (this.fkdId != null && !this.fkdId.equals(other.fkdId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.apli.haiam.ejb.entidades.FarKardexDetalle[ fkdId=" + fkdId + " ]";
    }
    
}
